#include <libayatana-indicator/indicator.h>  // 注意路径可能不同
#include <gtk/gtk.h>

// 退出回调
static void on_quit_activated(GtkWidget *widget, gpointer data) {
    gtk_main_quit();
}

int main(int argc, char *argv[]) {
    gtk_init(&argc, &argv);

    // 创建指示器（注意函数名和类型名）
    Indicator *indicator = indicator_new(
        "demo-indicator",  // 唯一ID
        "system-run",      // 图标
        INDICATOR_CATEGORY_APPLICATION_STATUS  // 类别（修正宏定义）
    );

    // 设置状态（激活显示图标）
    indicator_set_status(indicator, INDICATOR_STATUS_ACTIVE);  // 修正状态宏

    // 创建菜单
    GtkWidget *menu = gtk_menu_new();
    GtkWidget *quit_item = gtk_menu_item_new_with_label("Quit");
    g_signal_connect(quit_item, "activate", G_CALLBACK(on_quit_activated), NULL);
    gtk_menu_shell_append(GTK_MENU_SHELL(menu), quit_item);
    gtk_widget_show_all(menu);

    // 绑定菜单
    indicator_set_menu(indicator, GTK_MENU(menu));  // 修正函数名

    // 运行主循环
    gtk_main();

    g_object_unref(indicator);
    return 0;
}
